1. Field of the Invention
This invention relates to the field of data processing systems. More particularly, this invention relates to diagnostic mechanisms useful in performing diagnostic operations upon multi-processing systems.
2. Description of the Prior Art
It is known to provide integrated circuits including more than one processor for performing data processing operations all combined within a single integrated circuit. Combining processors in this way reduces cost, reduces power consumption and increases speed. Such highly integrated designs are sometimes referred to as system-on-chip integrated circuits. The processors can take a wide variety of different forms such as general purpose processors, DSP elements, data engines and the like.
When such complex, highly integrated systems are produced there is a strong need for efficient diagnostic mechanism such that bugs within their design and operation can be quickly and effectively identified and such that analysis (profiling) of the software can be carried out. The provision of multiple processing circuits within a single integrated circuit makes such diagnostic operations more difficult due to the increase in complexity whilst maintaining the low package pin count which it is normally desired to dedicate to diagnostic operations.
One known approach to the diagnosis of such systems is to employ serial scan chains to scan diagnostic data into and out of the integrated circuit and through the various processors and processing elements within the integrated circuit. With complex multi-processor systems such scan chains will accordingly become long and this, coupled with the relatively slow speeds at which it is possible to serially scan using such external debugging mechanisms, results in difficulty in rapidly and efficiently performing diagnostic operations upon such integrated circuits. These problems are generally increasing as the complexity and number of processors and processing circuits within integrated circuits steadily increases and the normal operation speeds of those integrated circuits increase whilst the diagnostic capabilities and diagnostic speeds of serial scan chains remain relatively limited. The overhead of a required protocol translator is also a disadvantage.
It is also possible within a multiprocessor system running a distributed operating system that one processor executing a debug thread may send the operating system a request to have another processor provide some diagnostic data regarding its own operation. This requires disadvantageous operating system support and is also intrusive upon normal operation.